package com.ververica.cdc.guass.sink.jdbc.core.database.catalog.factory;

import com.ververica.cdc.guass.Constants;
import com.ververica.cdc.guass.sink.jdbc.core.table.JdbcConnectorOptions;
import org.apache.flink.annotation.Internal;
import org.apache.flink.configuration.ConfigOption;
import org.apache.flink.configuration.ConfigOptions;
import org.apache.flink.table.catalog.CommonCatalogOptions;

/** {@link ConfigOption}s for {@link JdbcCatalog}. */
@Internal
public class JdbcCatalogFactoryOptions {

    public static final String IDENTIFIER = Constants.GAUSS_JDBC_NAME;

    public static final ConfigOption<String> DEFAULT_DATABASE =
            ConfigOptions.key(CommonCatalogOptions.DEFAULT_DATABASE_KEY)
                    .stringType()
                    .noDefaultValue();

    public static final ConfigOption<String> USERNAME = JdbcConnectorOptions.USERNAME;

    public static final ConfigOption<String> PASSWORD = JdbcConnectorOptions.PASSWORD;

    public static final ConfigOption<String> BASE_URL =
            ConfigOptions.key("base-url").stringType().noDefaultValue();

    public static final ConfigOption<String> COMPATIBLE_MODE =
            ConfigOptions.key("compatible-mode").stringType().noDefaultValue();

    private JdbcCatalogFactoryOptions() {}
}
